/*
Date:20210417
用新学到的lower_bound马上搜到第一个大于等于target的。然后从这个target只push一次下标 开始往后遍历直到不是target。最后的下标再push
*/
class Solution {
public:
    vector<int> searchRange(vector<int>& nums, int target) 
    {
        vector<int>v;
        int i;
        bool flag=1;
        auto k=lower_bound(nums.begin(),nums.end(),target);
        if(k==nums.end()||target!=nums[k-nums.begin()])
        {
            v.push_back(-1);
            v.push_back(-1);
            return v;
        }
        else
        {
            for(i=k-nums.begin();i<nums.size();i++)
            {
                if(nums[i]==target)
                {
                    
                    if(flag==1)
                        v.push_back(i);
                        flag=0;
                }
                else{break;}
            }
            
        }
        {v.push_back(i-1);}
        return v;
    }
};